Subtraction unit for a digital computer



April 5, w66

Filed Dec. lO, 1962 H. JONES SUBTRACTION UNIT FOR A DIGITAL COMPUTER 8 Sheets-Sheet 1 INVENTOR.

April 5, 1966 G. H. JoNEs SUBTRACTION UNIT FOR A DIGITAL COMPUTER 8 Sheets-Sheet 2 Filed Dec. l0, 1962 www@ YH 5 W65 G. H. JoNEs SUBTRACTION UNIT FOR A DIGITAL COMPUTER 8 Sheets-Sheet 5 Filed Deo. 10, 1962 @I Q N SML Tw @awww INVENTOR. 6i y/v H. Jan/5 April 5, 1966 G. H. JONES SUBTRACTION UNIT FOR A DIGITAL COMPUTER Filed Dec. lO, 1962 8 Sheets-Sheet 4 Apr 5, i966 G. H. JONES 3,244,864

SUBTRACTION UNIT FOR A DIGITAL COMPUTER Filed Dec. 1o, 1962 a sheets-sheet 5 y mmm mvENToR, 62 1//1/ H Tm/Ef Amm 5 2%@ G. H. @NES MMM@ SUBTRACTION UNIT FOR A DIGITAL COMPUTER Filed Deo. l0, 1.962 8 Sheets-Sheet*l 6 Aprii 5, E966 G. H. JONES SUBTRAGTION UNIT FOR A DIGITAL COMPUTER 8 Sheets-Sheet 7 Filed Dec. l0, 1962 ,NN www.

NNN

April 5, 1966 G. H. JONES SUBTRACTION UNIT FOR A DIGITAL COMPUTER 8 Sheets-Sheet 8 Filed DGO. lO, 1962 www Si? s mmw Qu. QmITII. wm

United States Patent 3,244,364 SUBTRACTIGN UNIT FR A DIGITAL CGMPUTER Glyn H. Jones, Hacienda Heights, Calif., assigner to Burroughs Corporation, Detroit, Mich., a corporation of Michigan Filed Dec. 10, 1962, Ser. No. 243,252

8 Claims. (Cl. 23S-168) This invention relates broadly to digital computers and more particularly to an improvement in subtracting circuits of an arithmetic unit for a digital computer.

Digital computers `are well known which perform arithmetio operations on `floating point numbers. The iioating point numbers are represented by a number composed of `digits referred to as a mantissa and an exponent which provides an indication of the position of the decimal point in the number. Addition and subtraction is performed `by first Ialigning the two numbers in registers in which they i shifted out of the register in which they are stored during the alignmentloperation are lost and form no part of the result of the subtraction.

The accuracy of the result formed iby the arithmetic unit of `many computers is increased by double precision wherein an extra register is provided for doubling the length of the registers storing mantissas of the two numbers. However, many times this much additional accuracy is not needed and the cost of the additional registers substantially increases the cost of the arithmetic unit.

After a `subtraction operation is complete, many times p there is a leading zero iu the result. rIt has been found that a substantial increase in the accuracy of the result of a subtraction operation, particularly if the diiierence between `numbers is small, may be obtained by complementing the last digit, of the number having Ithe smaller exponent, whichis shifted out of the register in which it is stored during alignment, storing such complemented digit, shitting the result number one digit position in the direction of the most signiiicant digit if there is a leading zero digit and storing the stored complemented digit back into the least significant digit position of the result register. It has also been found through a Series of tests that if there is more than one leading Zero digit in the result, only a single digit was shifted out of the register containing the nurnber with the smaller exponent during the alignment operation. It hasalso been found that if more than one digit is shifted out of the register containing the number with the smaller exponent during alignment, the maximum number of leading zero digits in the result is one. Thus, it becomes apparent that the accuracy of the result formed during a subtraction operation by a digital computer iS Patented Apr.. 5, 196@ ice effectively increased one digit by only providing storage and associated processing circuits for the last digit of the number having the smaller exponent which is shifted out of the register in which it is stored. Also, it is useless to provide means for shifting more than one digit into the result register as there is either a single digit shifted out of the register or there is but a single leading zero.

However, the" accuracy of the last digit of the number having the smaller exponent which is shifted out of the register in which it is stored may also be increased 'by rounding it ofic by providing" one additional digit of storage `and rounding off such last digit corresponding to the value of the additional digit.

Brieiiy, a specific embodiment of the present invention comprises an improvement in a digital computer arithmetic unit arranged for" electrically subtracting one iioating point number represented by mantissa digits and an exponent from another by electrically aligning the nurnbers by shifting the mantissa of the number having the larger exponent in the direction of the most significant digit and electrically shifting the mantissa of the number with the smaller exponent in the direction. of the least signiicant digit in the register in which they are store'd until the unantissas are aligned, electrically complementing the smaller mantissa and combiningthe complemented and uncomplement'e'd mantissas to form a result corresponding to the difference between the two original numbers and storing the result in a register the arrangement including, means for electrically complementing the last digit of the number with the smaller exponent which is shifted out of the register in which it is stored, means for storing the digit formed by the complementing means, means for selectively and electrically shifting the result in the register in which itis stored one digit position in the direction of the most signitcant digit if there is at least one leading zero digit in the result and means for electrically shifting the stored digit into the result register concurrently with the shifting of the result for increasing the accuracy of such result.

These and other aspects of the present invention may be more fully understood with reference to the following description of the `specification and drawings, in which:

FIG. 1 is a general block diagram of an adding 'and subtracting unit fora digital computer and embodies the present invention;

FIG. 2 is a block diagram showing the A and B registers of FIG. `1 alongwith a detailed block diagram of the complement and transfer circuit and a portion of the Itiming generator shown in the adding and subtracting unit of FIG. `1;

FIG. `3 is a block diagram of part of a portion of the timing generator shown inthe adding :and subtracting unit of FIG. 1;

FIG. 4 shows the logical equations for the I register control circuit ofthe timing generator shown in FIG. 3;

FIG. 4A shows a. typical circuit diagram illustrating how the logical Equation 6 shown in FIG. 4 is implemented;

FIG. 5 shows the logical equations for the gating circuit of the timing generator for controlling the operation of Ithe A mantissa control circuit shown in FIG. 1;

FIG. 6 shows the logical equation for the gating cir- 3 cuit of the timing generator for controlling the operation of the A complement control circuit shown in FIG. 1;

FIG. 7 shows the logical equations for the gating circuits of the timing generator for controlling the operat-ion of the A exponent control circuit shown in FIG. 1;

FIG. 8 shows the logical equation for the Ea- Eb gate control circuit of the timing generator shown in FIG. 3;

FIG. 9 shows the logical equation for the EbEn gate control circuit of the timing generator shown in FIG. 3;

FIG. 10 shows the logical equations -for the gating circuit of the timing generator for controlling the operation of the B mantissa control circuit shown in FIG. 1;

FIG. 1l is a logical equation of the gating circuit of the timing generator for controlling the operation of the B mantissa complement control circuit shown in FIG. 1;

FIG. 12 shows the logical equations of the gating circuit of `the timing generator for controlling the operation of the B mantissa exponent control circuit shown in FIG. 1;

FIG. 13 shows the logical equation of the gating circuit of the timing generator for controlling the operation of the adding circuit shown in FIG. 1;

FIG. 14 shows the logical equations for `the AeX gate control circuit of the complement and transfer circuit shown in FIG. 2;

FIG. 15 shows the logical equations for the B X gate control circuit of the complement and transfer circuit shown in FIG. 2;

FIG. 16 shows the logical equation for tihe XIeBI gate control circuit of the complement and transfer circuit shown in FIG. 2;

FIG. 17 shows the logical equation of the gating cir* cuit of the timing -generator for controlling the operation of the B sign control circuit shown in FIG. 1;

FIG. 18 shows the logical equations of the gating circuits of the 4timing generating for controlling the operation of the Q01FF timing flip-flop shown in FIG. 3;

FIG. 19 shows the logical equations of the gating circuits of the timing generator for controlling the operation of the Q03FF timing ilip-flop shown in FIG. 3;

FIG. 2O shows the logical equations of the gating circuits of the timing generator for controlling the operation of the Q04FF timing flip-flop shown in FIG. 3;

FIG. 21 shows the logical equations for the X shift control circuit of the complement and transfer circuit shown in FIG. 2;

FIG. 22 shows a logical equation for the XlBl gate control circuit 80 sho-wn in FIG. 3;

FIG. 23 shows a logical equation for the X gate control circuit 89 shown in FIG. 3;

FIG. 24 shows a table illustrating the operation of the B sign control circuit shown in FIG. 1 and the operation of the gating circuit 90 shown in FIG. 3; and

FIGS. 25A and 25B contain flow diagrams for illustrating the sequence of operation of the adding and subtracting unit snown in FIG. 1.

General description Refer now to FIG. 1 which shows a general block diagram of the adding and subtracting unit embodying the present invention.

A and B registers 10 and 12 are provided for storing two numbers which are to be added or subtracted. The A register 10 has a plurality of flip-flops for storing a number represented by a mantissa, a mantissa sign 4and an exponent. The section for storing the exponent is referenced by the symbol Ew The section for storing the sign is referenced by the symbol A sign and the section for storing the mantissa is referenced by the symbol A mantissa. The exponent of the number stored in A register It) specifies `the position of the radix point in the mantissa with respect to the least significant end of the mantissa section of the A register 10. The mantissas of the number stored in the A register 10 are broken down into 13 binary-coded-octal digits. The mantissa portion of the A register 10 has 13 digit storage sections for storing the octal digits of lche mantissa.

The B register 12 is similar to the A register 10 having flipdiops arranged in sections referenced -by the symbols Ebj B sign and B mantissa for storing the exponent, the sign land the mantissa of a number. The sections Eb, B sign and B mantissa are essentially identical to the sections En, A sign and A mantissa, respectively, of the A register 10.

An exponent control circuit 13 is provided having conventional counting control or gating circuits (not shown) for .adjusting the exponent stored in the section Ea of the A register 10 corresponding to the number of digit positions the mantissa stored in the A register 10 is shifted. A mantissa control circuit 14 is provided having conventional gating circuits (not shown) for shifting the mantissa stored in A register 1i) and performing other functions on the A mantissa described in detail in the following section entitled Detailed Description. A complement control circuit 15 is provided having conventional gating circuits for forming the sevens complement (radix minus one complement) of the mantissa digits stored in A register 10 and for storing the complemented digits back into the A mantissa section of the A register 10.

An exponent control circuit 16, a mantissa control circuit 17 and a complement control circuit 18 are associated with the B register 12 and are similar to and are provided for performing similar `functions `as .the exponent control circuit 13, the mantissa control circuit 14 and the complement control circuit 15 which are associated with the A register 10.

To be explained in detail, the result of an addition or subtraction is always stored into the B register 12. A sign control circuit 19 is provided with conventional gating circuits for adjusting the signals representing the sign of the result stored in the B sign section to those representing a positive or a negative sign in accordance with the sign of the result.

A .timing generator 22 is provided for forming timing signals for controlling the operation of the circuits of the adding and subtracting unit shown in FIG. 1. A source of program signals 24 provides order signals to the timing generator 22 specifying whether addition or subtraction is lto take place. A source of operands 26 supplies operands or numbers (including mantissa, mantissa sign and exponent) and stores such operands or numbers into the A and B registers 10 and 12.

A complement and transfer circuit 30 is provided for' complementing the digits shifted out of the A and B registers 10 and 12 and for transferring digits between the X register 28 and the A and B registers 10 and 12. The complement and transfer circuit 30 also shifts the digits stored in the X register 28. All digits transferred out of the X register 28 are stored into the B register 12.

An adding circuit 32 combines the mantissas of the numbers stored in the A and B registers 10 and 12 and stores t'ne result into the B mantissa section of the B register 12. The adding circuit 32 has a carry output circuit referenced by the symbol Ca at which a control signal is applied Whenever there is a carry out from an addition. The adding circuit 32 contains thirteen conventional series-parallel adding circuits similar to that shown and described in section 6-15 of the book entitled Digital Computer Fundamentals by Thomas C. Bartee, published by the McGraw-Hill Book Company, Inc. in 1960. However, the series-parallel adding circuits are arranged for adding in the octal number system rather than the decimal number system which is shown in the. book Digital Computer Fundamentals.

With the general block diagram in mind, consider the following brief description of the operation of the adding and subtracting unit of FIG. 1. Initially, the source of operands 26 stores operands into the A and B registers and 12 and the source of order signals 24 provides an order to the timing generator 22 specifying whether addition or subtraction is to take place.

Although the source of program signals 24 provides an order specifying addition or subtraction is to take place, whether the two numbers stored in the A and B registers 10 and 12 are actually algebraically added or subtracted of course depends not only on the order but on the signs of the two numbers stored in the A and B sign sections. In the case of an algebraic addition, an internal add is said to take place. In the case of an algebraic subtraction, an internal subtract is said to take place.

The following brief description is given assuming that an internal subtract is to take place for purposes of illustrating the invention. During internal subtract, the adding and subtracting unit of FIG. 1 performs four basic operations referred to as alignment, complement, combine, and normalize result operations. There are other operations described in the section entitled Detailed Description which are incidental to the basic operations. However, the basic operations are the important operations which should be understood in order to understand the invention.

First consider the alignment operation. During the alignment operation, the mantissa control circuits 14 and 17 shift the mantissas of the two numbers stored in the A and B registers 10 and 12 and the iexponent control circuits 13 and 16 adjust the exponents of the numbers until the numbers are aligned with the exponents of the numbers equal.

A normalizing shift operation and a scaling shift operation will be referred to in the following description of the alignment operation. A normalizing shift operation is one wherein the mantissa of a number is shifted in the direction of the most significant digit of the mantissa and the corresponding exponent is decreased one unit for each digit position the mantissa is shifted. A scaling shift operation is defined herein as being one wherein the mantissa of the number stored in one of the registers is shifted in the direction of the least signiiicant digit and the corresponding exponent is increased one unit for each digit the mantissa is shifted.

In general, alignment takes place by first normalizing the number with the larger exponent until either (1) the exponents are equal or (2) the first non-zero digit (most significant digit) of the mantissa of the number being normalized is shifted into the most significant'digit section (or position) of the register. If the condition (l) occurs, the numbers are aligned and the complement operation takes place. If the rst non-zero digit of the number being normalized is shifted into the most significant digit section of the corresponding register before the exponents of the two numbers are adjusted to equality, the number having the smaller exponent is then scaled.

The scaling of the number having the smaller eX- ponent takes place until either (l) the exponents become equal (the numbers are aligned) or (2) the mantissa of the number being scaled is shifted out of the register in which it is stored at which time the alignment operation terminates.

As the number having the smaller exponent is scaled, mantissa digits are shifted out of the least significant end of the corresponding register. The complement and transfer circuit 30 receives the digits shifted out of the register, forms the eights complement (radix complement) of all digits up to and including the first non-zero digit and the sevens complement (radix minus one complement) of all subsequent digits shifted out `of the register, and stores the complemented digits into the X register 28. The complement and transfer circuit 30 also shifts the content `of the X register 28 to the right one digit for each digit stored. Thus, the X register 28 effectively 6 stores the last two digits shifted out of the register in which a number is being scaled.

It should be noted that the radix complement of zero digits is a digit zero hence `actually the complement and transfer circuit 30 could be arranged for storing the zero digits directly into the X register 28 and for only forming the radix complement of the iirst non-zero digit and the result would be the same.

After the numbers are aligned, the complement operation takes place. The internal subtract. operation takes place by using the conventional technique of complementing the smaller number and adding the complemented and uncomplemented numbers together. Since the exponents of the aligned numbers are equal following the alignment operation, the smaller number is the one having the smaller mantissa.

The complement control circuits 15 and 18 complement the smaller mantissa by taking the sevens complement (radix minus one complement) of each of the digits, and store the complemented digits back into the same register in which the uncomplemented digits were originally stored. It should be noted that assuming a non-zero digit has been scaled out of the register in which the corresponding number is stored, the register containing the scaled and complemented number in combination with the X register 28 together contain the radix complement of the scaled number. 'This is true as the radix complement was formed of all digits up to and including the first nonzero digit scaled out of the corresponding register, and the radix minus one complement was formed of all the rest of the mantissa digits. See for a more detailed `discussion of complementing procedures the sections 3-12, 3-13, 3-14 of the book entitled Digital Computer Fundamentals by Thomas C. Bartee, published by the McGraw- Hill Book Company, Inc. in 1960.

Following the complementing operation, the combine operation takes place.

The adding circuit 32 performs the combine operation by adding the complemented and uncomplemented mantissa digits together and storing the result into the `B register 12. l

After the combine operation, the normalize result operation takes place whenever there is a zero leading digit in the result mantissa stored in the B register 12 and at least one non-zero digit was shifted out of the register during the scale operation. The mantissa control circuit 17 and the exponent control circuit 16 cause the result stored in the B register 12 to be normalized by shifting the mantissa thereof one digit position in the direct-ion of the most significant digit. Concurrently the complement and transl fer circuit 30 transfers the most significant digit stored in the X register 2S back into the least significant digit position of the B register 12 and the normalize result operation is terminated.

After the normalize result operation terminates, the round-off operation takes place. Assuming an internal subtract is taking place and that more than one non-zero digit was scaled out of the corresponding register, the adding circuit 32 adds one unit to the mantissa of the result contained in the B register 12 if the next most significant digit contained in the X register 12 after the one shifted into the result in the B register 12 is equal to or greater than one-half of eight (the radix of the numbers subtracted). The result is then rounded and the round result operation terminates.

The source of program signals 24 then provides a new order to the timing generator 22 and the source of operands 26 provides new operands for storage in the A and B registers 10 and 12 and the operations are repeated.

A better understanding of the operations described above may be had by examining the following Table I which gives an example of the sequence with which an internal subtract is performed on two numbers according to the invention. The example shown in Table I assumes that the mantissas have only six octal digits.

TABLEI Exp. Mantissa X Reg.

AReg 6 010250 BReg 3 733713 Alignment Operation: (1) Normalize- AReg 102500 3 733713 0 000000 4 731407 -Final Result Detailed description Refer now to FIG. 2 which shows a detailed block diagram of portions of the timing generator 22 and the details of the complement and transfer circuit 30. The timing generator 22 contains conventional decoding circuits 34 through 39 for providing various control signals indicative of the value of digits of the mantissa and of the position of the mantissa in the mantissa section of the A register 10. The decoding circuits 34 and 35 have conventional gating circuits for providing7 control signals at output circuits represented by symbols A13-0 and A13O Whenever the most significant digit position of the A register 10, section A13, is storing a digit zero and a digit other than zero, respectively. The decoding circuits 36 and 37 have output circuits represented by the symbols Az() and 14%() at which output signals are provided Whenever a complete mantissa is stored in the A register which is equal to zero. The decoding circuits 38 and 39 have conventional gating circuits with output circuits referenced by the symbols A1=0 and 211%() to which control signals are applied Whenever the least significant digit position of the A register 10, section A1, is storing a digit zero and a digit other than zero, respectively.

Associated with the B register 12 are decoding circuits 40 through 45. The decoding circuits 40 through 45 are identical to the decoding circuits 34 through 39 and provide control signals indicative of the same information in the B register 12 as the decoding circuits 34 through 39 do for the A register 10. The output circuits of the decoding circuits 40 through 45 are referenced by the same symbols as the output circuits of the decoding circuits 34 through 39 except that a B is affix-ed to each symbol rather than an A.

The timing generator 22 also contains a compare circuit 46. The compare circuit d6 is a conventional gating circuit having output circuits referenced by the symbols AB and B A to which control signals are applied Iwhenever the mantissa stored in the A register 10 is equal to or greater than the mantissa stored in the B register 12, and the mantissa stored in the B register 12 is greater than the mantissa stored in the A register 10, respectively.

The timing generator 22 also contains a compare circuit 43. The compare circuit 48 is a conventional gating circuit having output circuits referenced by the symbols EazEb, Ea Eb and Eb Ea to which control signals are applied whenever' the exponent stored in the A register i0 is equal to the exponent IStored in the B register 12, the exponent in the A register 10 is greater than the cxponent in the B register 12 and the exponent in the B register 12 is greater than the exponent in the A register 10, respectively.

Refer now to the complement and transfer circuit 30b shown in FIG. 2. An Ss complement circuit 50 and `a 7 s complement circuit S2 are provided for complementing the octal digit stored in the least significant digit position of the A register 10, section A1. The 8s complement circuit 50 is a conventional gating circuit for forming the eights complement of the digit stored in section A1 and providing signals corresponding thereto to a gating circuit S4. The 7s complement circuit 52 is a conventional gating circuit for forming the sevens complement of the digit stored in section A1 and for applying signals corresponding thereto to a gating circuit 56. A gating circuit 5S receives the output signal-s of the A1 digit section. The gating circuits 54, 56 and 58 are conventional gating circuits for storing signals corresponding to those applied to their input circuits into the X1 digit section of the X register 2S under control of an A X gate control circuit 60. rlhe logical equations yfor the A X gate control circuit 60 are shown in FIG. 14 and will be described 'hereirrbelow An 8s complement circuit 62 and a 7s complement circuit 64 are also provided in the complement and transfer circuit 30 and are associated with the B register 12 for yforming the eights and sevens complements of the digit stored in the B1 section. Gating circuits 66, 68 and 70 are provided having input circuits connected to the output circuits of the Ss complement circuit 62, the 7s cornplement circuit 64 and `the B1 section of the B register 12. The 8s complement circuit 62, the 7s complement circuit 64 and the gating circuits 66, 68 and 70 are identical to the 8s complement circuit 50, 7s complement circuit 52 and gating circuits 54, 56 and 58 and provides the saine function in connection with the B register 12 as they later do in connection with the A register 10. Also within the complement and transfer circuit 30 is a B X `gate control -circuit 72 for controlling the operation of the gating ycircuits 66, 68 and 70. The details of the logical equations of the gating circuits for the B X gate control circuit 72 are shown in FIG. l5.

The complement and transfer lcircuit 30 also contains decoding circuits 74 and 76 for providing control signals indicative of the digits stored in the X1 section of the X register 2S. The decoding circuits 74 and 76 are conventional gating circuits and have output circuits referenced `by the symbols X lt and X1 4, respectively, to which control signals are applied Whenever the digit stored in the X1 digit position of the X register 28 is equal to or greater than an octal digit 4 and the digit stored in the X1 digit position of the X register 28 is less than an octal digit 4, respectively.

A conventional gating circuit 73 is provided in the complement and transfer circuit 30 for storing the digit contained in the X1 section of the X register 28 into the B1 section of the B register 12. An XleB gate control circuit provides the control signals to the gating circuit 78. The logical equations for the X B gate control cncuit 80 are shown in FIG. 16.

A shift gating circuit 83 is provided having conventional gating circuits for shifting the content of the X register 28 to the right and left. A shift gate control circuit 82 is provided yfor controlling the time at which and the direction in which the shift gating circuit 83 shifts the content of the X register 2.8. The logical equations of the shift gate control circuit S2 are shown in FIG. 21.

A gating circuit is provided in the complement and transfer circuit 30 for storing a digit zero into each of the sections X1 and X2 of the X register 28. An X- 0 gate control circuit 89 is provided for applying a control signal to the gating circuit 30 whenever digit zeros are to be stored in the X register 28. The logical equation of the gating circuit for the X 0 gate control circuit 39 is shown in FIG. 22.

is-,einsam Refer now `'to FIG. 3 rwhich shows the `rest of the. detailed block diagram of the timing generator 22." The timingrgenerator 22` contains a J register 84 along with a decoding circuit 84b for providing timing pulses to various circuits of the adding and subtracting -circuit of FIG. 1, noted hereinbelow.

The I register 84 isa conventional ip-op register having five states of operationgreferred to as states andtwo through six. The decoding circuit 84a has a control circuit connected to a clock pulse `generator 8S. The decoding circuits 84a has output circuits i0 `and i2 through 1'6 `corresponding to the states zero and two through six,

`respectively, of the I register 84. The decoding circuit is a conventional gating circuit for providing a synchronizing pulse at the output circuit thereof corresponding to the state of the 1 register 84 during each clock pulse.

It `will be noted that stateoneof the 1 register 84 has been skipped and is not used herein but is used for other computing-functions not described herein.

The I register v84 has tive input circuits referenced by the symbols SET 1:0 and SET 1:2 through SET 1:6. The J register 84 containsgating circuits (not shown) for setting the flip-nop circuits thereof into states zero and two through `six in response to control signals at the input circuits SET] :0, and SET 1:2 through SET 1:6, respectively. A I register control circuit 84a provides the set control signals `to the I register S4. The `logical equations ofthe gating circuits in the set I register control circuit 84a are shown in FIG. 4.

The timing generator 22 also contains transfer circuits 86 and 88; The transfer circuits 86 and 88 contain conventional gating circuits for transferring the exponent signal stored in the section Ea o-f the A register 10, into the exponent section Eb of the B register 12 and for transferring the exponent signals stored inthe exponent section Eb of the B register 12 into the exponent section E of the A register 1%, respectively.

The gating circuits for controlling the operation of the transfer circuits 86 `and 88 are referenced by the symbols 86a and 88a. The logical equations for the gate control circuits 86a and 88a are shown in FIGS. 8 and 9, respectively.

A gating circuit 90 is provided for forming control signals at output circuits referenced by the signals I ADD and I SUB designating internal add or internal subtract is `to take pla-ce. A table illustrating the conditions whereby the gating circuit 90 provides control signals at the output circuits I ADD and I SUB for the various conditionsof `the signs of the numbers stored in the A sign and B signysections of the A and B registers and 12 and forthe type of order provided by the source of order signals 24 is shown in FIG. 24.

The timing circuit 22 also contains timing` dip-flops QtilFF, QQBFF and Q04FF. 4Symbols l and 0 are used herein to represent the true and false states, respectively, of the timing ip-ops. The SET=1 and a SET:0 input circuits` of the QIFF Hip-flop are connected to the gating circuits `101 and 102, respectively. The logical equations of the gating circuits llrand 102 are shown in FIG. 18. The SET:lfand SET:0 input circuits of the QSFF flipflop are connected t-o gating circuits 103 and 104, respectively. The logical equations for the gating circuits 103 and 104 are shown in FIG. 19. The SET:1 and SET=0 input circuits of the QMFF flip-flop are connected to gating circuits 16S and 106, respectively. The logical equations for the gating circuits 105 and 106 are shown in FIG. 20.

Refer now to the logical equations shown in FIGS. 4 through 21. T he logical equations of FIGS. 4 through 21 have symbols representative of various output circuits of the adding and substracting unit of FIG. 1. At the left hand side of an equal sign in the figures, symbols are shown representative of output circuits of gating circuits on which control signals are applied whenever certain conditions exist. The conditions necessary for the gating circuits 'to form the controlnsignals are represented by the symbols at the right` hand side of the` equal signs. For example, `Equationl 6. of FIG. 4 designates that a control signal -Will be applied lat the 1:6 outputcircuit of the I register control circuit 84a whenever acontroly signal is applied at the` j4-outputcircuit Yand` the QMF output circuit, orcontrol signals are applied at the i5 output circuit and the Q03F output circuit (see FIG.. 3).

Af symbol-is used in the 4logical equations to. indicate that the cutputcircuits represented by the symbols on either side thereof are andeditogether. A symbol is useddn the logical `equations to indicate that the` output circuits represented bythe symbols .on either side thereof are to be ored` together. FIG. 4A is a schematic diagram illustrating ,howthe Equation 6 of FIG. 4 can be implemented with` and and or gating circuits.- Referring to FIG. 4A, the i4 and Q04Fl output circuits are anded together by an and gating' circuit 108. The jS and QtBF output circuits are` anded together by an and gating circuit 109;y The output circuits of the and gating circuits liand 109 .are ored together by an"or gating circuit 110i The output circuit of the Aor gating circuit 110 is` the output `circuit 1:6. Implementation =of the otherrplogical equiationsof` FIGS.4 through 21 arenot shown herein but `may be implemented similar to the implementation of Equation 6-of FIG. 4 shown in FIG. 4A.

FIGS. 25A ,and 25B are flow diagrams for simplifying the explanation of the logical equations of FIGS.` 4 through 21. The flow diagrams ofFIGS. 25A and 25B are arranged in blocks with a separating line dividing the blocks into two sections. At `the right hand side of each block is a logical equation corresponding to one: or more terms of one of the logical equations Iof FIGS. 4 through 2l. Some of the blocks are arranged together in groups at the top of each block or a group of connected blocks of FIGS; 25A `and 25Bf is a separate block connected to the block or group `of blocks which also contains a logical equation corresponding to parts of the logical equations of FIGS. 4 through `21. The complete logical equation for any block corresponding to one or more logical equations of FIGS. 4 through 2l may be obtained by anding the term at the top lof the block or a group of blocks with the term or terms at the right hand section :of the connected block or blocks. At the left hand section of each block is one or more symbols corresponding to output circuits of the adding and substractingunit of FIG. 1. A control signal is applied at the output circuits represented by the symbols at the left hand section of each block whenever control signals are applied at the output circuits accordingto the equation at the right hand section of the corresponding block and the separate block atV the top of the block or group of blocks.

A description of the operation of the adding and subtracting unit of FIG. 1 will now be given with reference to the circuits of FIGS. 1 through 3 and the logical equations of FIGS. 4 through 21 by describing the operation of the circuits illustrated in the flow diagram of FIGS. 25A and 25B and making reference to the corresponding logical equations.

Refer now to the upper left hand block of the ow diagram of FIG. 25A. Initially the .I register 84 (FIG. 3) 1s set int-o state 0. The signal at the i0 output circuit of the decoding circuit 8411 causes a new order signal to be applied to the timing generator 22 by the source of order signals 24and causes the source 'of operands 26 to store new numbers or operands in the A and B registers 1t) and 12. Additionally, the control signal at the i0 output circu1t causes a control signal at the SET 1:2 output circuit of the J register control circuit 84a (see Equation 2, FIG. 4). This causes the J register 84 to be set into state two.

Alignment operation The` alignment operation takes place While the J register 84 1s 1n state two. Assuming the number stored in the A register 10 has the larger exponent, the number stored in the A register 10 is normalized and the number stored in the B register is scaled until the exponents are equal or one of the mantissa is shifted out of the B register 12. The group of blocks shown in the lower left hand side of FIG. 25A illustrates the alignment operation when the exponent of the number stored in the A register 10 is the larger of the two exponents.

Assume now that the J register 84 is in state two7 the compare circuit 48 (FIG. 2) applies a control signal at the Ea Eb output -circuit and the decoding circuit 43 applies a control signal at the B0 output circuit (FIG. 2) thereby indicating that the number stored in the A register 10 has the larger exponent and the mantissa stored in the B register 12 is not equal to Zero. Also, assume that the decoding circuit 34 (FIG. 2) applies a control circuit atthe output circuit A13=0 thereby indicating that the mantissa stored in the A register 10 is not normalized with the first known zero digit in the most significant digit position of the A register 10. Under these conditions control signals are applied at the SHIFT AL, the Ea-l and the SET Al 0 output circuits (see Equation 1, FIG. Equation 1, FIG. 7; Equation 4, FIG. 5). These control signals cause the mantissa control circuits 14 to shift `the mantissa of the numbers stored in the A register to the left a digit at a time and cause the exponent control circuit 13 to decrease the value of the exponent stored in section Ea one unit until the mantissa is shifted with the most significant digit in the most significant digit section of the A register 10.

Assume that the I register 84 is still in state two, that the exponent in the A register 12 is still larger than that in the B register 12 causing a control signal at the Ea Eh output circuit and that the mantissa of the number in the A register 10 is normalized causing the decoding circuit 35 (FIG. 2) to provide a control signal at the A1374() output circuit. Also assume that the content of the mantissa section of the B register 12 is not equal to zero causing the decoding circuit 43 to apply a control signal at the B7-0 output thereof.

At this point, control signals are applied at the output circuits SET B13 0, Eb-i-l, SHIFT BR., and SHIFT XR. output circuits (see Equation 2, FIG. l0; Equation 2, FIG. 12; Equation 4, FIG. 10; Equation l, FIG. 21). These control signals cause the mantissa control circuit 17 (FIG. 1) to shift the mantissa of the number stored in the B register 12 to the right a digit at a time storing zero digits in the B13 digit position and cause the exponent control circuit 16 to increase the value of the exponent stored in the section Eb one unit for each digit shift of the mantissa while the X shift gating circuit 82 (FIG. 2) shifts the content of the X register 2S to the right one digit for each digit stored in the X register 28.

Initially, before the number stored in the B register 12 is scaled the timing flip-flop Q04FF is in a false state, and assuming an internal subtract operation is to take place, the gating circuit 9i) (FIG. 3) applies a control signal at the I SUB output circuit. Therefore, as the number in the B register 12 is scaled, a control signal is applied at the output circuit of the B X gate control circuit 72 (see Equation 1, FIG. The control signal at the causes the gating circuit 65 (FIG. 2) to store the eights complement of the digit stored in the B1 section of the B register 12 into the X1 section of the X register 23.

Assume that the I register 84 is still in state two and that the exponent in the A register 10 is still larger than that in the B register 12, causing a control signal to still be applied at the output circuit Ea Eb of the compare circuit 48 (FIG. 2). Also assume that the number stored in the B register 12 is scaled such that a non-zero digit is stored in the least signiiicant digit position B1, therefore ready to be shifted out of the register, causing the decoding circuit 4S (FIG. 2) to apply a control signal at the BeO output circuit. These conditions cause the gating circuit 105 (FIG. 3) to apply a control signal at the SET=1 input circuit of the Q04FF Hip-flop (see Equation 2, FIG. 20), causing the flip-flop to be set into a true state. Thus, the true state of the QIMFF flip-Hop indicates a non-zero digit has been shifted out of the register in which a number is being scaled.

After the rst non-zero digit is shifted out of the B register 12, and the Q04FF flip-flop is in a true state, while the number in the I3 register 12 is still being scaled, a control signal is applied at the output circuit of the B X gate control circuit 72 (see FIG. 2 and Equation 2, FIG. l5). The control signal at the output circuit causes the gating circuit 68 (FIG. 2) to store the sevens complement of the digit stored in section B1 into the X1 section of the X register 2S. The scaling operation continues until either the exponents are made equal and a control signal is applied at the EazEb output circuit of the compare circuit 48 or the mantissa is sealed out of the B register 12 and a control signal is applied at the B=0 output circuit of the decoder 42.

Assuming an internal add is to take place rather than an internal subtract, the gating circuit (FIG. 3) applies a control signal at the I ADD output circuit. This causes the B-X gate control circuit 72 (see Equation 3, FIG. 15) to apply a control signal at the B1- X1 output circuit. The control signal in the B1 X1 output circuit causes the gating circuit 70 to store the uncomplemented digit contained in section B1 into the X1 position of the X register 28. Thus, during internal add, alignment takes place identical to alignment during internal subtract except that the digits scaled out of a register are stored uncomplemented into the X register 28.

The alignment operation for the condition when the exponent of the number stored in the B register 12 is larger than the exponent of the number stored in the A register 10 is similar to that described above wherein the exponent in the A register 10 is the larger except that the number stored in the B register is normalized and the number stored in the A register 10 is scaled. The operation for such a condition may be understood with reference to the flow diagram at the middle of FIG. 23A and with reference to the above discussion of the alignment operation. n

At the right-hand side of FIG. 25A are two blocks of the flow diagram illustrating the subsequent operation of the adding and subtracting unit of FIG. 1 if during the alignment operation the mantissa of the number being scaled is shifted out of the corresponding register.

Assuming the exponent stored in the A register 10 is'y the larger, the compare circuit 48 (FIG. 2) applies a con-- trol signal at the Ea Eb output circuit, and assuming that the mantissa stored in the B register 12 has been scaled out of the register, the decoding circuit 43 (FIG. 2) applies a control signal at the B=O output circuit. These conditions cause the control signals to be applied at the Ea Eb output circuit and the SET=0 input of the QMFF iiipflop (sec FIG. 3; Equation, FIG. 8, and Equation l, FIG. 20). These control signals cause the transfer circuit S6 (FIG. 3) to store the exponent contained in the section Ea of the A register 10 into the B register 12 and if the Q4FF flip-flop is in a true state causes the gating circuit 106 to reset the Q04FF iiip-op into a false state.

Thereason' that the exponent contained in the A register `is stored in' the B' register 12 is that when the mantissa contained in the B register 12 is shifted out of theregistergthe result'of the addition or subtraction operation is the number contained in theA register 10; Therefore, the exponent andmantissa mustbe transferred to the B register`12 where" all results are stored. The manti'ssaIV istransterred`during` the combine operation. Another reason `that the'exponent 'contained in the A register 10-` is stored in the B" register 12' is that the subsequent operationofthe adding' and subtracting unit of FIG. 2 requires' that the exponents be made equal.

b `The operation" ofthe adding and subtracting unit of FIG.V 2` after themantissa of` lthe number stored in the A register 10 is scaled out of the register is similar to that Y wherein' themantissa of the number stored in the B register`12is'scaled out of the register except that the exponent contained in the B register 12 is transferred to th'e A register 10 'by the transfer circuit 88 under control of the Eb E gate control circuit 88a (FIG. 3). This operation may be understood fwith reference to the lower block at the right-hand side o-fFlG. A and the equations of FIGS. 9 and 20.

Complement operation Refer novi?` to the upper left-hand group of blocks of the flow diagram shown in FIG. 25B. After the two numbers arealignedwith the exponents contained in the A register 10` and the B register 12 adjusted t-o equality, thefcompare circuitlit (FIG. 2) applies a` control signal atthe out-put circuit Ea=Eb. Also-the I register 84 (FIG. 3) is still-in state two and a icontrol signal is applied `at the output circuit f2. These conditions cause the I register control circuit 84a to apply a control signalY at the SET .1:3 output circuit (see Equation 3, FIG: 4). These conditions also cause a `control signal to be applied to the ADI B SIGN circuit connected to the sign control circuit 19 (FIG. 1). The logical equationof the' gating circuit in the .timing generator 22 for providingthe control signal to the ADI B SIGN circuit is shown inIFIG. 17;

If` during the complement operation an internal subtract operation is to take place and the mantissa contained inthe A register 1i) is smaller than that contained in the B register 12, the mantissa contained in the A registerl mustbe complementedand added to the mantissa contained in the B'register 12. Under these conditions the' gating circuit 90 (FIG. 3) applies a control signal at the I" SUBoutput circuit (see table of FIG. 24) and the compare circuit 46 applies a control circuit at the B A` output circuit. These conditions cause a control signal to be applied at the COMP A circuit connected to the' complement control circuit 15 (see FIG. 1 and equation', FIG. 6); Also if the Q94FF Hip-flop is in a false state'and a control signal is applied at the QMF output'circuit (FIG. 3) a control signal is applied at the SET=1 input of the QEiIFF flip-flop (see Equation 2, FIG. 18). Since the QMFF flip-flop is now in a false state only if a non-zero digit has not been scaled out offa register, the true state of the QIIFF iiip-op now iridicates'tthat' noVy non-zero digits have been scaled out of the register havingk 4the number being scaled. This condition is necessary during the combining operation.

With control signals applied at the output circuits 1:3, ADI. B SIGN, COMP. A and SET=1 of QMFF flip-flop, the I register 84 (FIG. 3) is set into state three, the complement control circuit 15 (FIG. l) fonrns the sevens complement of each of the digits contained in the A register 10 and the QtilFF flip-flop is set into a true state. When the I register 84 is set into state three, the complement operation is terminated yand the combine operation is commenced.

Combine operation Refer now to the lower left-hand group of blocks of the'flow diagram of FIG. 25B.

During state three of the AI register-B4, the combine operation takes place in the adding and subtracting unit of FIG. 1. The combine operation takes place` bytmeans of the adding circuit 32` (FIG. l) which adds the mantissas contained inthe A and .B registers 10` andt12 and stores the result into the mantissa section of the B register 12. e

As explained hereinabove the Q0=1FF Hip-nop is normally in a false state Ibut is set into a, true state during the complement operation ifino non-Zero digitshaa/e been scaled out of the register in which a number is being scaled. The radix complement `ofthe smaller number is taken and combined with the uncomplemented fonm of the other number when performing subtraction. The radix complement of the number is formed by the adding and subtracting unit of FIG. lilby formingthe radix minus one complement` (sevens complement) of each of the digits of the smaller number and then adding one unit to the least signiiicant digit of the number. If non-Zero digits have been scaled out of the register in which a number is being scaled, the least significant digit to which one unit is to be added is stored in the Xregister 28 or even shifted out of the X register 28 and under such a condition the Qti1FFip-iiop is in a false state. If no non-zero digits have been shifted out of the register in which a numberis being scaled, one unit is to be added to the complemented mantissa digits still stored in the A or B registers 10 and `1.2. Under` such a conditiontthe Q01FF flip-flop `isin a true state.

Thus, during state three of the I register 84 a control signal is applied to the A+B+Q011F B input of the adding circuit 32 (see equation, FIG. 13). Also control signals are applied at the A O inputcircuit of the mantissa control circuit 14 (see Equation 3, FIG. 5) and the SET=0 input of the flip-nop QilFF (see. FIG. 3 and Equation l, FIG. 18). These conditions cause the adding circuit 32 to combine the complemented and` uncomplemented mantissa digits stored in the A and- B registers 10 and 12 adding one unit only if the QGIFF flip-flop is in a true state and causing the result to be stored into the B register 12. These conditions also cause the content of the mantissa section of the A register 1@ to be cleared or set to all zeros, andthe QIFF flip-nop to be set into a false state.

If during state three of the I registerl 84 an internal subtract operation is taking place by the adding and subtracting unit of FIG. l and a control signal is applied at the I SUB output circuit of the gating circui-t 9 (FIG. 3), a control signal is applied at the SET J=4 inputof the I register 84 by the I register control circuit 84a (see Equation 4, FIG. 4). Thus, the I register 84 is set into state four wherein the adding and subtracting unit of FIG. l nor-malizes the result contained in the B register 12.

If during state three of the I register 84 an internal add operation is taking place by the adding and subtracting unit of FIG. l and a control signal istbeing applied at the I ADD output circuit of the gating circuit 90, a control sign-al is applied `at the SET J=5 input circuit of the .I register `84 by the I register control circuit 84a (see Equation 5, FIG. 4).

Also, if an internal add operation is taking place and there is a carry-out from the B register 12 in the result, a control signal is applied at the C5 output of the` adding circuit 32 causing a control signal to be applied at the SET=1 input of the QSFF flip-flop (see Equation 2, FIG. 19).

Thus, if an internal add is taking place, the I register E54 is set into state five where the result is scaled and adjusted for overiiow (or carry-out) and the QGBFF flipflop is set into a true state thereby indicating, during the scale result operation, that there has been a carry-out from the B register 12 in the result and the result must be scaled.

Normalze result operation Refer now to the upper group of blocks at the middle of the ow diagram of FIG. B. During the normalize result operation of the adding and subtracting unit of FIG. 1, the J register 84 is in state four.

As described above, if -upon entering the normalize operation, the Q04FF flip-flop is in a false state, the condition of the flip-Hop indicates that no non-zero digits have been shifted out of the register in which a number was being scaled. Under these conditions, a control signal is applied at the SET .1:6 input of the I register 84 by the J register control circuit 84a (see Equation 6, FIG. 4) and the J register 84 is set into state six. However, if the QMFF ilip-op is in a true state, the state of the flip-flop indicates that a non-zero digit was shifted out of the register in which a number was scaled. Therefore, if the Q04FF flip-flop is in a true state indicating a digit has been scaled out that can be shifted back into the result and there is a zero leading digit in the result contained in the B register, the result may be normalized and the complemented digit contained in the X1 section of the X register 28 may be shifted back into the B register 12.

With control signals at the f4 output circuit, the QMF output circuit, and the B13=0 output circuit of the decoding circuit 40 (FIG. 2), control signals are applied at the Eb-l input circuit of the exponent control circuit 16 (see Equation 1, FIG. 12) the SHIFT BL. input circuit of the mantissa control circuit 17 (see FIG. 1 and the Equation 1, FIG. 10), the X R input circuit of the shift gating circuit 83 (see FIG. 2 and the Equation l, FIG. 21), and the Xl-Bl input circuit of the gating circuit 28 (see FIG. 2 and the equation, FIG. 22). Also the gating circuit 106 (FIG. 3) applies a control signal at the SET=O input of the Q04FF flip-flop (see Equation 1, FIG. 20). Thus, the mantissa control circuit 17 (FIG. l) shifts the mantissa of the result contained in the B register 12 one digit position to the left, the exponent control circuit 16 (FIG. 1) decreases the value of the exponent contained in the B register 12 by one unit, the X shift control circuit 82 causes the shift gating circuit 83 to shift the contents of the X register 28 one digit position to the left, the gating circuit 78 stores the digit contained in section X1 of the X register 28 into the B1 section of the B register 12, and the gating circuit 106 sets the QliFF ip-flop into a false state.

To be explained in detail subsequently, during state six of the I register 84 the result stored in the B register 12 is rounded off depending on the digit stored in the X register 28 next to the last one shifted out of the register in r which a number is scaled. After the content of the X register 28 is shifted to the left one digit, the digit stored in the X register 28 next to the last one shifted out of the register in which a number is being scaled is stored in section X1. If a digit contained in section X1 of the X regy,

ister 28 is equal to or greater than four, one unit is added to the result contained in the B register 12. The QMFF flip-flop is used during state six in order to provide an indication of whether the digit contained in section X1 circuit X14 and the I register `84 is in state four and the Q04FF flipflop is in a false state. As explained hereinabove, a false state of Q04FF flip-flop during state four of the J register 84 causes a control signal at the SET J :6

. input of the J register 84. Therefore, the I register is set into state six and the QMFF Hip-flop is set into a true state.

Scale result operation In connection with the description of the combine o pv eration, it was pointed out that if an internal add operatipnn ltalgelsplace inthe adding and subtracting unit of FIG.

l, the I register is set from state three into state ve. Refer now to the lower group of blocks at the middle of the flow diagram of FIG. 25B. These blocks illustrate the sequence of operation of the system of FIG. l for a scale result operation.

The operation of the adding and subtracting unit of FIG. l for a scale result operation is quite similar to that for a normalize result operation except that if the QISFF flip-flop is in a true state indicating that a carry/out or overflow occurred from the result stored in the mantissa section of the B register 12 during the combining operation, the mantissa contained in the B register 12 is shifted to the right one digit position and the exponent of the number increased one unit. Concurrently with the scaling of the result, an octal digit one is stored in the most significant digit section B13,of the B register 12. After the result has been scaled, the Q01FF tlip-op is set into a true state if the digit contained in the X1 section of the X register 28 is equal to or greater than four for use in rounding off the result during the round-olf operation. Also, the I register 84 is set into state six where the roundoft' operation takes place.

l'ioumzojfc operation Refer now to the upper right-hand group of blocks in the flow diagram of FIG. 25B which illustrate the roundoff operation of the adding and subtracting unit of FIG. l. During state six of the J register 84, a control signal is applied at the B-i-A-l-QlFB input of the adding circuit 32 by the timing generator 22 (see equation, FIG. 13). It will be noted that during the combine operation, the content of the mantissa section of the A register 10 was cleared and now contains all zero digits. It will also be noted that in connection with the description of the normalize result operation and scale result operation, the Q01FF flip-flop is set into a true state if a round-off of the last signicant digit of the result is to take place. To this end, the adding circuit 32 is responsive to the control signal applied at the A+B-{Q01F- B input circuit thereof for combining the result contained in the B register 12 with the content of the A register 10 (which contains all zeros) and adds thereto one unit if the Q01FF flip-op `is in a true state. The result is then stored back into the B register 12.

Also control signals are applied at the SET .1:0 input of the I register 84 by the I register control circuit 84a (see Equation l, FIG. 4), and to the SET X 0 input circuit of the gating circuit 87 by the X gate control circuit 89 (see FIG. 2 and the equation, FIG. 22). Therefore, the J register 84 is set into state zero and zero digits are stored in the X register 28.

With the I register 84 set into state zero, the adding and subtracting unit of FIG. 1 is recycled into its initial state of operation and a new order is provided by the source of order signals 24 and new operands are stored in the A register 10 and B register 12 by the source of operands 26.

What is claimed is:

1. In a digital computer arithmetic unit arranged for electrically subtracting one floating point number represented by mantissa digits and an exponent from another number by electrically aligning the numbers by shifting the mantissa of the number having the larger exponent in the direction of the most significant digit and electrically shifting the mantissa of the number with the smaller exponent in the direction of the least significant digit in the registers in which they are stored until the mantissas are aligned, electrically complementing the smaller mantissa and combining the complemented and uncomplemented mantissas to form a result corresponding to the difference between the two original numbers and storing the result in a register, the improvement comprising:

(a) means for electrically complementing the last digit of the number with the smaller exponent which is shifted out of the register in which it is stored;

(b) means for storing the digit formed by the cornplementing means;

(c) means for selectively and electrically shifting the result in the register in which it is stored one digit position in the direction of the most significant digit if there is at least one leading zero digit in the result; and

(d) means for electrically shifting said stored digit into the register in which the result is stored concurrently with the shifting of the result for increasing the accuracy of such result.

2. In a digital computer arithmetic unit arranged for electrically subtracting one floating point number represented by mantissa digits and an exponent from another number by electrically aligning the numbers by shifting the mantissa of the number having the larger exponent in the direction of the most sigificant digit and electrically shifting the mantissa of the number with the smaller exponent in the direction of the least significant digit in the registers in which they are stored until the mantissas are aligned, electrically complementing the smaller mantissa and combining the complemented and uncomplemented mantissas to form a result corresponding to the difference between the two original numbers and storing the result in a register, the improvement comprising:

(a) means for electrically forming the radix complement of the first non-zero digit and for forming the radix minus one complement of the subsequent digits of the number with the smaller exponent which are shifted out of the register in which they are stored;

(b) a register for storing at least the last two digits formed oy the complementing means before the mantissas are aligned;

(c) means for selectively and electrically shifting the result in the register in which it is stored one digit position in the direction of the most significant digit if there is at least one leading zero digit in the result;

(d) means for electrically shifting the most significant one of said at least two stored digits into the register in which the result is stored concurrently with the shifting of the result;

(e) electrical circuit means for detecting the value of the next most significant one of said at least two stored digits and for forming an electrical signal corresponding thereto; and

(f) means responsive to,the electrical signal for selectively adding one unit to the result digits stored in the register in which the result is stored depending on `the Value of such next most significant digit for increasing the accuracy of such result.

3. In a digital computer arithmetic unit arranged for electrically subtracting one floating point number represented by mantissa digits and an exponent from another number by electrically aligning the numbers by shifting the mantissa of the number having the larger exponent in the direction of the most significant digit and electrically shifting `the mantissa of the number with the smaller exponent in the direction of the least significant digit in the registers in which they are stored until the mantissas are aligned, electrically complementing the smaller mantissa and combining the complemented and uncomplemented mantissas to form a result corresponding to the difference between the two original numbers and storing the result in a register, the improvement comprising:

(a) means for electrically complementing the digits of the number with the smaller exponent which digits are shifted out of the register in which they are stored;

(b) a register for storing at least the last two digits lid formed by the complementing means before the mantissas are aligned;

(c) `means for selectively and electrically shifting the result in the register in which it is stored one digit position in the direction of the most significant digit if there is at least one leading zero digit in the result;

(d) means for electrically shifting the most significant one of the at least two stored digits into the register in which the result is stored concurrently with the shifting or the result; and

(e) means responsive to the next to the most significant one of the at least two stored digits for rounding off the result depending on the value of such digit for increasing the accuracy of such result.

4. In an arithmetic unit for a digital computer for electrically aligning and subtracting first and second floating point numbers each of which is represented by an exponent signal stored in a register and mantissa digits stored in a register, the first number having the smaller exponent, including electrical circuits for aligning the numbers by first shifting the mantissa signals of the second number in the direction of the most significant digit and adjusting the associated exponent corresponding thereto until there are no leading zero digits in the corresponding mantissa storage register and subsequently shifting the mantissa of the first number in the direction of the least significant digit and adjusting the associated exponent corresponding thereto until the two exponents are equal, the improvement comprising:

(a) electrical circuit means for selectively forming the radix complement of each stored mantissa digit of the stored first number after the exponents are adjusted to equality;

(b) an adding circuit for combining the complemented and uncomplemented vdigits together and for forming a binary-coded-digit result mantissa representing the difference between the two original numbers;

(c) electrical circuit means for forming the radix complement of the first non-zero digit and the radix minus one complement of each subsequent digit of any mantissa digits of the first number shifted past the least significant digit end 0f the corresponding mantissa register;

(d) a two digit 4storage register for separately storing the last two digits shifted past the least significant digit end of the corresponding register and complemented as the exponents are adjusted to equality;

(e) electrical circuit `means for storing the result mantissa into one of the mantissa registers and concurrently shifting the result digits one digit position in the direction of the most significant digit if the result contains at least one leading zero digit;

(f) electrical circuit means for adjusting the exponent signal stored in the corresponding exponent register according to the one digit shift;

(g) means for shifting the most significant one of the two separately stored and complemented digits into the least significant end of the mantissa register ystoring the result digits concurrently with the shifting of the result signals; and

(h) means for rounding ofi the stored result digits depending on the value of the last significant one of the two separately stored and complemented digits for increasing the accuracy of the result.

5. In an arithmetic unit for a digital com-puter for electrically aligning and subtracting first and second floating point numbers each of which is represented by exponent signals stored in a register and mantissa digits stored in a register, the first number having the smaller exponent, including electrical -circuits for aligning the numbers by first shifting the mantissa digits of the second number in the direction of the most significant digit and adjusting the associated exponent corresponding thereto until there are no leading zero digits in the cor- 20 stored digit back into the same mantissa register and for electrically adjusting the corresponding stored exponent signal corresponding to such shift if there is a leading zero digit in the result for increasing the accuracy of the result. 7. ln a digital computer arithmetic unit arranged for electrically subtracting two floating point numbers, the combination comprising:

i@ responding mantissa storage register and subsequently shifting the mantissa of the first number in the direction of the least significant digit and adjusting the associated exponent corresponding thereto until the two exponents are equal, the improvement comprising:

(a) means for selectively forming the radix complement of each stored mantissa digit of the stored first number after the exponents are adjusted to equality;

(b) means for combining the complemented and un- (a) alignment register means having mantissa and excornplemented digits together and for forming a biponent storage registers for storing a mantissa and nary-code-d-digit result mantissa representing the an exponent for each of two iioating point numbers difference 'between the two original numbers; which are to be combined together, the mantissa (c) means for forming the radix complement of the signals of each number being composed of binaryfirst non-zero digit and the radix minus one complecoded-digit signals, and including electrical circuits ment 0f each subsequent digit of any mantissa digits 15 for shifting the mantissas of the two numbers and of the first number shifted -past the least significant correspondingly adjusting the exponents until the digit end of the corresponding mantissa register; two mantissa digits are aligned with the exponents (d) means for Separately Storing the last digit shifted @quai and the most signicant digit of the mantissa PlSt the least Sigllil'iCElIlt digit CIlCl Of lh@ COI'ICSpOIlCi- 0f the number having the larger exponent is posiing register and complemented as the exponents are tioned at the most significant position in the register adjusted to equality; in which it is stored;

(e) rneans for storing 'die resuii mantissa into one of (b) at least one electrical complementing circuit for the mantissa registers and concurrently shifting the forming the radix Complement 0f the first non-Zero resuii digits one digit Position in the direeiion of digit and the radix minus one complement of each the most significant digit if the result COntinS ai subsequent digit of any mantissa digits of the smaller least one leading Zero digit; exponent number shifted past the least significant (f) imeans `for electrically adjusting the exponent sigdigit end 0f the corresponding register;

nai Stored in the Corresponding exponent register (c) a digit storage register for separately storing the eeording i0 'die one digit shift; and last digit shifted past the least signiiicant digit end (E) IIneens for shifting the separnieiy stored and Cornand complemented as the exponents of the numbers -plemented digit into the least significant digit end of the mantissa register storing the result digits concurrently with the shifting of the result for thereby increasing the accuracy of the result.

are adjusted to equality;

(d) an electrical complementing circuit for forming the radix minus one complement of each of the stored mantissa digits of the smaller exponent num- 6. In a digital computer arithmetic unit arranged for 3o electrically subtracting two floating point numbers, the combination comprising:

ber remaining in the corresponding mantissa register after the exponents are adjusted to equality; (e) an adding circuit for electrically combining the (a) alignment register means having mantissa and exponent storage registers for storing a mantissa and complemented and uncomplemented digit signals stored in the mantissa registers and for forming a an exponeri for each of iWo floating Poini numbers result mantissa composed of binary-coded-digit sigwhich are to be Combined together, ibe mantissa nals corresponding to the diiierence of the two origsignais of each nurnber being eornposed of binryinal mantissas, including electrical circuit means for Coded-digit signsis, and ineiuding eieeirieei Circuits storing the result digits back into one of the same for selectively shifting the mantiS'SHS 0f the lLWO two mantissa registers as the orignal mantissas are numbers and correspondingly adjusting the expo- Stored; and nents until the two mantissas are aligned With The (f) means for selectively shifting the result digits one exponents equal and the most signiiieun digii of the digit position in the direction of the most significant InaniSSa of the number haVing 'die larger eXPonen digit thereof and for concurrently shifting the sepais positioned at the most significant position in the rately stored digit back into the same mantissa regisregister in which it is stored; ter and for electrically adjusting the corresponding (b) means for forming the radix Complement Of the stored exponent signal corresponding to such shift first non-zero digit and the radix minus one compleif there is a leading zero digit in the result for inment of each subsequent digit of any mantissa digits crea-sing the accuracy of the result. of the smaller exponent number shifted past the least 8. In a digital computer arithmetic unit arranged for significant digit end of the corresponding register electrically subtracting two Floating point numbers, the

including means for separately storing the last digit shifted past the least significant digit end and complemented as the exponents of the numbers are adjusted to equality;

combination comprising:

(a) alignment register means having mantissa and exponent storage registers for storing a mantissa and an exponent for each of two floating point numbers (c) means for selectively forming the radix minus one which are to be combined together, the mantissa complement of each of the stored mantissa digits of signals of each number being composed of binarythe smaller exponent number remaining in the corcoded-digit signals, and including electrical circuits responding mantissa register after the exponents are for selectively shifting the mantissas of the two adjusted to equality; numbers and adjusting the exponents corresponding (d) means for electrically combining the comple- 55 to the shifting until the mantissas digits are aligned mented and uncomplemented digit signals stored in with the exponents equal and the most significant the mantissa registers and for forming a result digit of the mantissa of the number having the larger mantissa composed of binary-coded-digit signals exponent is positioned at the most significant position corresponding to the difference of the two original in the register in which it is stored; mantissas including means for :storing the result (b) at least one electrical complementing circuit for digits back into one of the same two mantissa regisforming the radix complement of the first non-zero ters as the originar mantissas are stored; and means digit and the radix minus one complement of each for selectively shifting the result digits one digit subsequent digit of any mantissa digits of the smaller position in the direction of the most significant digit exponent number shifted past the least significant thereof and for concurrently shifting the separately digit end of the corresponding register;

agli/geeft 2l 22,

(c) a two digit storage register for separately storing (f) means for selectively shifting the result digits one the last two digits shifted past the least significant digit position in the direction of the most signiicant digit end and complemented as the exponents of the digit thereof in the mantissa register in which it is numbers are adjusted to equality; stored and for concurrently shifting the most sig- (d) an electrical complementing circuit for forming nificant one of the two stored digits back into the the radix minus one complement of each of the same mantissa register and for electrically adjusting stored mantissa digits of the smaller exponent numthe corresponding stored exponent signal correspondber yremaining in the corresponding mantissa register ing to such shift if there is a leading Zero digit in the after the exponents are adjusted to equality; result; and

(e) an adding circuit for electrically combining the l0 (g) an electrical circuit for rounding off the result complemented and uncomplemented digit signals stored in the mantissa registers and for forming a result mantissa composed of binary-coded-digit signals corresponding to the difference of the two original mantissas, including electrical circuit means for storing the result digits back into one of the same two mantissa registers as the original mantissas are stored;

digits depending on the value of the least significant one of the two stored digits for increasing the accuracy of the result.

No references cited.

ROBERT C. BAILEY, Primary Examiner'. 

6. IN A DIGITAL COMPUTER ARITHMETIC UNIT ARRANGED FOR ELECTRICALLY SUBSTRACTING TWO FLOATING POINT NUMBERS, THE COMBINATION COMPRISING: (A) ALIGNMENT REGISTER MEANS HAVING MANTISSA AND EXPONENT STORAGE REGISTERS FOR STORING A MANTISSA AND AN EXPONENT FOR EACH OF TWO FLOATING POINT NUMBERS WHICH ARE TO BE COMBINED TOGETHER, THE MANTISSA SIGNALS OF EACH NUMBER BEING COMPOSED OF BINARYCODED-DIGIT SIGNALS, AND INCLUDING ELECTRICAL CIRCUITS FOR SELECTIVELY SHIFTING THE MANTISSAS OF THE TWO NUMBERS AND CORRESPONDINGLY ADJUSTING THE EXPONENTS UNTIL THE TWO MANTISSAS ARE ALIGNED WITH THE EXPONENTS EQUAL AND THE MOST SIGNIFICANT DIGIT OF THE MANTISSA OF THE NUMBER HAVING THE LARGER EXPONENT IS POSITIONED AT THE MOST SIGNIFICANT POSITION IN THE REGISTER IN WHICH IT IS STORED; (B) MEANS FOR FORMING THE RADIX COMPLEMENT OF THE FIRST NON-ZERO DIGIT AND THE RADIX MINUS ONE COMPLEMENT OF EACH SUBSEQUENT DIGIT OF ANY MANTISSA DIGITS OF THE SMALLER EXPONENT NUMBER SHIFTED PAST THE LEAST SIGNIFICANT DIGIT END OF THE CORRESPONDING REGISTER INCLUDING MEANS FOR SEPARATELY STORING THE LAST DIGIT SHIFTED PAST THE LEAST SIGNIFICANT DIGIT END AND COMPLEMENTED AS THE EXPONENTS OF THE NUMBERS ARE ADJUSTED TO EQUALITY; (C) MEANS FOR SELECTIVELY FORMING THE RADIX MINUS ONE COMPLEMENT OF EACH OF THE STORED MANTISSA DIGITS OF THE SMALLER EXPONENT NUMBER REMAINING IN THE CORRESPONDING MANTISSA REGISTER AFTER THE EXPONENTS ARE ADJUSTED TO EQUALITY; (D) MEANS FOR ELECTRICALLY COMBINING THE COMPLEMENTED AND UNCOMPLEMENTED DIGIT SIGNALS STORED IN THE MANTISSA REGISTERS AND FOR FORMING A RESULT MANTISSA COMPOSED OF BINARY-CODED-DIGIT SIGNALS CORRESPONDING TO THE DIFFERENT OF THE TWO ORIGINAL MANTISSAS INCLUDING MEANS FOR STORING THE RESULT DIGITS BACK INTO ONE OF THE SAME TWO MANTISSA REGISTERS AS THE ORIGINAL MANTISSAS ARE STORED; AND MEANS FOR SELECTIVELY SHIFTING THE RESULT DIGITS ONE DIGIT POSITION IN THE DIRECTION OF THE MOST SIGNIFICANT DIGIT THEREOF AND FOR CONCURRENTLY SHIFTING THE SEPARATELY STORED DIGIT BACK INTO THE SAME MANTISSA REGISTER AND FOR ELECTRICALLY ADJUSTING THE CORRESPONDING STORED EXPONENT SIGNAL CORRESPONDING TO SUCH SHIFT IF THERE IS A LEADING ZERO DIGIT IN THE RESULT FOR INCREASING THE ACCURACY OF THE RESULT. 